/**
 * @author LKQ
 * @date 2022/2/18 11:59
 * @description 枚举可能的回文中心，然后左右拓展，左右元素相同则继续，否则停止
 */
public class FormalSolution {
    public static void main(String[] args) {
        FormalSolution solution = new FormalSolution();
        solution.countSubstrings("abaab");
    }
    public int countSubstrings(String s) {
        int count = 0, n = s.length();
        for (int i = 0; i < s.length(); i++) {
            // 遍历回文中心点
            for (int j =0; j <= 1; j++) {
                // 中心点单个字符或两个字符
                int left = i, right = i + j;
                while (left >=0 && right < n && s.charAt(left--) == s.charAt(right++)) {
                    count++;
                }
            }
        }
        return count;
    }
}
